home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / 32URDOOR.ZIP / URDOOR.DOC < prev    next >
Text File  |  1995-04-30  |  15KB  |  523 lines

  1.  
  2.                           -URDooR- Version 3.20
  3.                             Compiled 05/01/95
  4.                Copyrighted (c) 1993-95 by Kenneth Bledsoe
  5.  
  6.  
  7.  
  8.                               INTRODUCTION
  9.  
  10.  
  11.  
  12.  
  13. URDooR is a complete set of Turbo Pascal routines designed to
  14. enable programmers to easily write DooRs for a BBS. The following
  15. is a just a few of URDooR's features:
  16.  
  17.  
  18.      Assembly language serial input/output routines for
  19.      speed and efficiency.
  20.  
  21.      Full support of speeds up to 115,00 baud and the 16550
  22.      FIFO.
  23.  
  24.      ANSi emulation is provided , so no need for ANSi.SYS
  25.      driver to be resident.
  26.  
  27.      Support for all the popular dropfile formats.
  28.      EX. QBBS, WildCat, SpitFire, PCboard 1.5x Etc....
  29.  
  30.      Note: Command Line options are available so no need for DropFiles;
  31.  
  32.      Does not need a fossil driver..
  33.  
  34.      Support for comports 1-4, on interrupts 1-7..
  35.  
  36.      Multi-Tasker Aware..Ex.. WIN-NT,DV,OS/2, Etc... and will give up
  37.      timeslices while waiting for user input.
  38.  
  39.      New Features in 3.10:
  40.  
  41.           1. URRip Function Added
  42.  
  43.  
  44.                               USING URDooR
  45.  
  46.  
  47.  
  48. The only requirements needed to integrate URDooR into your
  49. program are the following two lines in your program:
  50.  
  51. {$M,$4000,0,0}
  52. Uses URDooR;
  53.  
  54.  
  55. The first line is a {$M} compiler directive and is necessary to
  56. enable URDooR's Drop to DOS function. If this line is omitted
  57. from your program this function will not be enabled. Note: This
  58. directive also affects your program,s heap space. Be sure to
  59. adjust the final to values accordingly if you dynamically
  60. allocate memory.
  61.  
  62. The second line is a "uses" statement that simply instructs Turbo
  63. Pascal to include the URDooR.TPU unit in your program.
  64.  
  65.  
  66.                         Running Your URDooR DooR
  67.  
  68.  
  69. To run a URDooR based program, at least one command line
  70. parameter is required:
  71.  
  72. Example:    Door Config
  73.  
  74. Where Door is the name of the executable file and Config is the
  75. name of the configuration file. The configuration file can be any
  76. name, but it must be an ASCii text file in the following format:
  77.  
  78. Line 1: BBS Type
  79. Line 2: Path and Filename of dropfile
  80. Line 3: BBS Name
  81. Line 4: Sysop's First Name
  82. Line 5: Sysop's Last Name
  83. Line 6: Comport Interrupt {A value between 1-7} {0=Use Fossil}
  84. Line 7: Use Error Log {Value TRUE or FALSE}
  85.  
  86.  
  87.  
  88. Here is an example config file.
  89. Note: This file should be have been included with your copy of
  90. URDooR as URDooR.CFG
  91.  
  92. RA
  93. C:\RA\DORINFO1.DEF
  94. The Outer Limits
  95. Kenneth
  96. Bledsoe
  97. 3
  98. TRUE
  99.  
  100. NOTE: ALL LINES MUST BE PRESENT, but URDooR will not read past line 7..
  101.  
  102. EXTENDED LINE DEFINITIONS:
  103.  
  104.  
  105. LINE ONE:
  106.  
  107. Supported BBS Types for Line 1 are as follows..
  108.  
  109.   Dorinfo.def  : Line 1 should read RA for Remote Access
  110.                  compatible dorinfo.def dropfile format...
  111.  
  112.   Callinfo.bbs : Line 1 should read WC2 for Wildcat vers 2
  113.                  compatible dropfile format...
  114.  
  115.   Door.sys     : Line 1 should read WC3 for Wildcat vers 3
  116.                  compatible dropfile format...
  117.  
  118.   PCboard.SYS  : Line 1 should read PCB for PCBoard 1.5x
  119.                  support.
  120.  
  121.   SFDooRs.dat  : Line 1 should read SF for SpitFire compatible
  122.                  dropfile format...
  123.  
  124.  
  125.   CommandLine  : Line 1 should read CL if you plan on passing user
  126.                  info to the door through command line options versus
  127.                  a supported dropfile...
  128.  
  129. LINE TWO:
  130.           Must have the full path and name of the dropfile in
  131.           it, unless CL is used in the first line then this line can
  132.           be left blank..
  133.  
  134. LINE THREE:
  135.           The Name of the BBS to be Passed to URDooR..
  136.  
  137. LINE FOUR & FIVE:
  138.           The First and Last Name of Sysop to be Passed to URRooR respectivly;
  139.  
  140.  
  141. LINE SIX:
  142.  
  143. Comport interrupt supports for line 6 are as follows..
  144.  
  145.    The value in line 6 is the interrupt of the comport
  146.    given in the dropfile. Valid interrupts are 0,1,2,3,4,5,6, & 7..
  147.    If you have problems with your program, this is the first
  148.    place to check. If the wrong interrupt is requested, your
  149.    computer will probably Hang...
  150.  
  151. NOTE: If you pass < 0 > as the IRQ requested then the unit will
  152.       use the Fossil driver. {If one is loaded. If not it will error
  153.       out with the error 'No Fossil Driver loaded"}
  154.  
  155.  
  156. LINE SEVEN:
  157.  
  158. Enables or Disables use of error logging..
  159.  
  160.    If line 7 reads TRUE when an error occurs it is written in
  161.    he current directory to a file named ERRORLOG. This can be
  162.    disabled by specifying FALSE instead.
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169. To run a URDooR DooR Locally specify local in the command line
  170. following the configuration file name.
  171.  
  172. Ex. Door Door1.cfg Local
  173.  
  174.  
  175.  
  176. The Command Line Option:
  177.  
  178.    If you plan on using this option please note line two in the config file still has
  179.    to present though it can be left blank.
  180.  
  181.    Parameter(1) should be the name of the Config file the door will use.
  182.    Parameter(2) Will enable or disable ANI graphics..
  183.                 Note: If 'ANSI','1','GR','COLOR', or 'TRUE' or passed to
  184.                       this paramter ANSI will be set to true Else ANSi will
  185.                       be disabled. If your BBS passes something else here
  186.                       you can always ask the user if he wants graphics and
  187.                       enable them with the ANSi Global variable..
  188.                       Or just contact me and I can update the Unit..
  189.    Parameter(3) Pass the Baud Rate Here
  190.                 Note: Legal Values are   {IF 0 passed then Local set to True}
  191.                       0,300,600,1200,2400,4800,9600,19200,38400,57600,115200
  192.    Parameter(4) Pass the User First Name Here
  193.    Parameter(5) Pass the User Last Name Here
  194.    Paramater(6) Pass ComPort Here
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212. FUNCTION KEYS
  213.  
  214.  
  215. The following list contains the function keys available to the
  216. sysop while a door is running:
  217.  
  218.  
  219.      Key(s)                             Function
  220.  
  221.      [F1]           Toggles between the user status window and a
  222.                     help display that displays the function keys
  223.                     available.
  224.  
  225.      [F2]           Activates chat mode.
  226.                     Note: To exit chat mode press the ESC key.
  227.  
  228.      [F3]           Allows the sysop to drop to DOS on the local
  229.                     console. Displays appropriate message to
  230.                     user.
  231.  
  232.      [F4]           Terminates door, without hanging up caller.
  233.  
  234.      [F10]          Terminates door and hangs up caller.
  235.  
  236. GLOBAL VARIABLES
  237.  
  238.  
  239. The following are global variables provided for your convience:
  240.  
  241.  
  242. ANSi: boolean;
  243.  
  244.      Set to true if caller has ANSi color graphics enabled or
  245.      false if monocrome.
  246.  
  247. Baud : Longint;
  248.  
  249.      Contains the connected baud rate;
  250.  
  251. BBSName : String[25];
  252.  
  253.      Contains the name of the BBS.
  254.  
  255. DooRName : String[25];
  256.  
  257.      Contains the name of the door running. This will be
  258.      displayed in the user status window. Note: It is the door
  259.      author's responsibility to assign a value to this variable.
  260.  
  261. OpSyS : String[7];
  262.  
  263.      Contains the name of the operating system currently running;
  264.      ex.. "WINDOWS" "DOS" etc..
  265.  
  266.  
  267. Sec : Longint;
  268.  
  269.      Contains the security level of the urer on line.
  270.  
  271. SysopF : String;
  272.  
  273.      Contains the first name of the sysop.
  274.  
  275. SysopL : String;
  276.  
  277.      Contains the last name of the sysop.
  278.  
  279. TimeLeft : Longint;
  280.  
  281.      Contains the number of minutes remaing for the user on line.
  282.  
  283. TimeOn : Longint;
  284.  
  285.      Contains the number of minutes the user has been on line.
  286.  
  287. UserF : String;
  288.  
  289.      Contains the first name of the user on line.
  290.  
  291.  
  292. UserL : String;
  293.  
  294.      Contains the last name of the user on line.
  295.  
  296. UserLoc: String;
  297.  
  298.      Contains the location of the user on line.
  299.  
  300.  
  301.  
  302.                      URDooR Procedures and Functions
  303.  
  304.  
  305. The following is a description of the procedure and functions
  306. provided by URDooR:
  307.  
  308. procedure URcleol;
  309.  
  310.      The URcleol will clear the line from the cursor postion to the
  311.      end of the line and then return the cursor to its previous
  312.      position;
  313.  
  314. Procedure URcls;
  315.  
  316.      The URcls procedure clears both the local and remote screen
  317.      and returns the cursor to the upper left corner;
  318.  
  319.  
  320. Function URdisplayfile(Filename: String;Pause: Boolean;): Boolean;
  321.  
  322.      The URdisplayfile procedure will display an ANSi/ASCii file
  323.      to both the local and remote screen. If pause is true then
  324.      the file will pause every 24 lines.
  325.      NOTE: If If the file has ANSI code embeded in it and the user
  326.      has has disabled then the ANSI codes will be stripped from
  327.      the file..I am considering adding VT100 emulation.. If you think
  328.      I should add this please contact me.. If a few people reply I
  329.      will add it in the next release.
  330.  
  331. Note: This Function now returns a value of false if it us unable to
  332.       display the file. ex. File not found or File Access Denied etc..
  333.  
  334. Function URbackcolor: Byte;
  335.  
  336.      The URbackcolor function will return the current background
  337.      color in the URsetcolor format.
  338.  
  339.  
  340. Function URforecolor: Byte;
  341.  
  342.      The URforecolor function will return the current foreground
  343.      color in the URsetcolor format.
  344.  
  345. Procedure URgotoxy(X,Y: Shortint);
  346.  
  347.      The URgotoxy procedure will move the cursor to the new
  348.      position on the local and remote screens. If X,Y are invalid
  349.      locations then their values are adjusted to the nearested
  350.      valid value.
  351.      NOTE: This procedure will be ignored if ANSi is False.
  352.  
  353. Function URKeyPressed: Boolean;
  354.  
  355.      The URKeyPressed function returns a value of true if a key
  356.      has been pressed on either the local or remote keyboards.
  357.      The key that was pressed will be returned by the next call
  358.      URreadkey..
  359.      NOTE: This function does not detect extended keys, such
  360.            [F1],Alt,Ctrl Keys...
  361.  
  362. Function URreadkey: Char;
  363.  
  364.      The URreadkey function will return the first character
  365.      entered on either the local or remote console.
  366.      Note: The Character will not be echoed to the screen.
  367.  
  368.  
  369. Function URreadi: Integer;
  370.  
  371.      The URreadi function will return a integer value from either
  372.      the local or remote console.
  373.  
  374.  
  375. Function URreadli: Longint;
  376.  
  377.      The URreadli function will return a longinteger value from
  378.      either the local or remote console;
  379.  
  380.  
  381. Function URreadstr: String;
  382.  
  383.      The URreadstr function will return a string value from
  384.      either the local or remote console;
  385.  
  386. Function URreadstr: StringLen(Len : byte);
  387.  
  388.      The URreadstr function will return a string value from
  389.      either the local or remote console up to the length of
  390.      the value < len > passed to it;
  391.  
  392.  
  393. Procedure URrefreshscreen;
  394.  
  395.      The URrefreshscreen procedure will save the current local
  396.      screen, Then clear both the local and remote screens, and
  397.      finally restore the local and remote screens.
  398.      NOTE1: Saves the first 24 lines ONLY of the local screen.
  399.      NOTE2: Use as a Refresh command in your programs, so a user
  400.             can refresh a screen that might have gotten garbled
  401.             due to line noise.
  402.  
  403.  
  404. Procedure URrestorescreen;
  405.  
  406.      The URrestorescreen procedure will restore the screen
  407.      previously stored by URsavescreen to the local and remote
  408.      displays.
  409.      Note: URsavescreen MUST BE called First.
  410.  
  411. Function URRip: Boolean;
  412.      
  413.      The URRip function will attempt to detect if the remote caller has
  414.      RIP graphics enabled. If so this function will return true.
  415.  
  416.  
  417. Procedure URsavescreen;
  418.  
  419.      The URsavescreen procedure will save the current local
  420.      screen to a variable to be restored by URRestorescreen.
  421.      Note1: Saves ONLY the first 24 lines.
  422.      Note2: Probably will never need to be used.
  423.  
  424.  
  425.  
  426. Procedure URsetcolor(F,B:Byte);
  427.  
  428.      The URsetcolor procedure sets the foreground color ('F') and
  429.      the background color ('B') for the local and remote
  430.      displays.
  431.      Note: If ANSI is disabled this procedure is ignored.
  432.  
  433.      Foreground Colors                  Background Colors
  434.  
  435.      0  - Black                         0 - Black
  436.      1  - Blue                          1 - Blue
  437.      2  - Green                         2 - Green
  438.      3  - Cyan                          3 - Cyan
  439.      4  - Red                           4 - Red
  440.      5  - Magneta                       5 - Magneta
  441.      6  - Brown                         6 - Brown
  442.      7  - LightGray                     7 - LightGray
  443.      8  - DarkGray
  444.      9  - LightBlue
  445.      10 - LightGreen
  446.      11 - LightCyan
  447.      12 - LightRed
  448.      13 - LightMagneta
  449.      14 - Yellow
  450.      15 - White
  451.  
  452.      NOTE: Add 16 to the Foreground color to enable Blink.
  453.  
  454. Function URsc(F,B:Byte): string;
  455.  
  456.      The URsc function is exactly the same as the URsetcolor procedure
  457.      except that it will return a string and allow URwrite & URwriteln
  458.      to set the approprate color..
  459.        Ex(URwrite(URsc(14,0)+'This Text Will Be In YELLOW'));
  460.      NOTE: If ANSi is not enabled the URwrite & URwriteln will ignore
  461.      the URsc color commands...
  462.  
  463.  
  464. Procedure URwrite(Anystr: String);
  465.  
  466.      The URwrite procedure will send a string to the local and
  467.      remote displays.
  468.  
  469.  
  470. Procedure URwriteln(Anystr: String);
  471.  
  472.      The URwriteln procedure will send a string to the local and
  473.      remote displays followed by a cariage return and linefeed.
  474.  
  475.  
  476. Procedure URwritei(Anyi: Integer);
  477.  
  478.      The URwritei procedure will send a integer to the local and
  479.      remote displays.
  480.      Note: NO carrieage return is sent. If required, call
  481.      URwriteln with a blank string. Ex. URwriteln('');
  482.  
  483.  
  484. Procedure URwriteli(Anyli: Integer);
  485.  
  486.      The URwriteli procedure will send a longinteger to the local
  487.      and remote display with no carriage return.
  488.      Note: NO carriage return is sent. If required, call
  489.      URwriteln with a blank string. Ex. URwriteln('');
  490.  
  491.  
  492. NOTE: URDooR still uses its own exit procedures but NO longer passes
  493.       an exitcode. So you can freely pass your own exit code to your
  494.       own Exit procedure if you write one.
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  SUPPORT
  502.  
  503. You can obtain support by contacting my BBS:
  504.  
  505. Kenneth Bledsoe
  506. The Outer Limits
  507. (713)344-0526  BBS
  508. FIDO@1:106/50
  509.  
  510. The latest version of URDooR can FREQ under the MAGIC name URDOOR
  511.  
  512. The latest release information is also available..
  513.  
  514. Or you can send me netmail to 1:106/50
  515.  
  516.  
  517. Support to unregistered users is on an As I Can basis..But I will
  518. do my best to reply within 24 hours to all problems.
  519.  
  520.  
  521. To register please print the file Register.DOC.
  522.  
  523.